package ai;

import util.ArrayList;
import util.List;
import engine.GameEngine;

// AIP stands for AI Personality
// Can be changed by HighLevelModule when new situations arise
// TODO Transformer cette classe pour pouvoir instancier un AIP different par joueur ai
public class AIP {

	// CONFIG
	public static boolean debug = true;

	// PERSONALITY
	// DEFENSE
	public static byte carefulness = 5; 
	// ATTACK
	public static byte aggresive = 5; 

	// TASKS
	// PROTECT UNIT TASK
	public static byte protectUnitMin = 1;
	public static byte protectUnitMax = 2;
	// PROTECT CITY TASK
	public static byte protectCityMin = 1;
	public static byte protectCityMax = 8;
	public static byte minFortifiedUnitsNeeded = 2;
	// EXPLORE TASK
	public static byte StopExploringPourcentage = 80;
	public static byte exploreMin = 1;
	public static byte exploreMax = 50;
	// ATTACK TASK
	public static byte attackMin = 1;
	public static byte attackMax = 10;
	// RUN AWAY TASK
	public static byte runAwayMin = 1;
	public static byte runAwayMax = 10;
	// BUILD CITY TASK
	public static boolean cityNeeded = true;

	// PATHFINDING
	public static byte[][] influenceMapping = new byte[GameEngine.map.width][GameEngine.map.height];

	// WORLD PERCEPTION 
	public static List unitsNeeded = new ArrayList();
	public static List enemyUnits = new ArrayList();
	public static byte explorationPourcentage;
	


}
